package top.zhangjianyong.blog.entity.po;

import lombok.*;

/**
 * 文件类 - 适配OSS对象存储
 *
 * @author zhangjianyong
 * @since 2024/7/25 下午11:10
 */
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Getter
@Setter
public class File extends BaseEntity {

    /** 文件类型 0-基础信息 1-博客 2-微博 */
    private Integer type;

    /** 原始文件名 */
    private String originalName;

    /** 文件名（MD5+后缀） */
    private String fileName;

    /** 根路径 */
    private String rootPath;

    /** 日期路径（如：20240806） */
    private String datePath;

    /** 文件类型（扩展名） */
    private String extension;

    /** 文件大小（字节） */
    private Long fileSize;

    /** MD5值（用于去重） */
    private String md5;

    /** OSS存储桶名称 */
    private String bucketName;

    /** 文件状态：0-上传中 1-上传成功 2-上传失败 */
    private Integer status;

    public String objectKey() {
        return rootPath + "/" + datePath + "/" + fileName;
    }
}
